package com.xxrl.shop.repository;

import com.xxrl.shop.domain.Cart;
import org.springframework.data.mongodb.repository.MongoRepository;

import java.util.List;

/**
 * @author mis
 */
public interface CartRepository extends MongoRepository<Cart,String> {

    /**
     * 查找用户的购物车
     * @param userId 用户id
     * @return 购物车集合
     */
    List<Cart> findAllByUserId(Long userId);

    /**
     * 删除指定用户的所有购物车
     * @param userId 用户id
     */
    void deleteAllByUserId(Long userId);

    /**
     * 根据用户id和商品id删除
     * @param userId 用户id
     * @param productId 商品id
     */
    void deleteByUserIdAndProductId(Long userId, Long productId);

    /**
     * 根据用户id和商品id查找
     * @param userId 用户id
     * @param productId 商品id
     * @return 找到的购物车
     */
    Cart findFirstByUserIdAndProductId(Long userId, Long productId);
}
